home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / Packages.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  9.3 KB  |  264 lines  |  [TEXT/MPS ]

  1. {
  2. Created: Friday, January 25, 1991 at 11:34 AM
  3.     Packages.p
  4.     Pascal Interface to the Macintosh Libraries
  5.  
  6.         Copyright Apple Computer, Inc.    1985-1990
  7.         All rights reserved
  8. }
  9.  
  10.  
  11. {$IFC UNDEFINED UsingIncludes}
  12. {$SETC UsingIncludes := 0}
  13. {$ENDC}
  14.  
  15. {$IFC NOT UsingIncludes}
  16.     UNIT Packages;
  17.     INTERFACE
  18. {$ENDC}
  19.  
  20. {$IFC UNDEFINED UsingPackages}
  21. {$SETC UsingPackages := 1}
  22.  
  23. {$I+}
  24. {$SETC PackagesIncludes := UsingIncludes}
  25. {$SETC UsingIncludes := 1}
  26. {$IFC UNDEFINED UsingTypes}
  27. {$I $$Shell(PInterfaces)Types.p}
  28. {$ENDC}
  29. {$IFC UNDEFINED UsingStandardFile}
  30. {$I $$Shell(PInterfaces)StandardFile.p}
  31. {$ENDC}
  32. {$IFC UNDEFINED UsingScript}
  33. {$I $$Shell(PInterfaces)Script.p}
  34. {$ENDC}
  35. {$SETC UsingIncludes := PackagesIncludes}
  36.  
  37. CONST
  38. listMgr = 0;                                {list manager}
  39. dskInit = 2;                                {Disk Initializaton}
  40. stdFile = 3;                                {Standard File}
  41. flPoint = 4;                                {Floating-Point Arithmetic}
  42. trFunc = 5;                                 {Transcendental Functions}
  43. intUtil = 6;                                {International Utilities}
  44. bdConv = 7;                                 {Binary/Decimal Conversion}
  45. editionMgr = 11;                            {Edition Manager}
  46. currSymLead = 16;
  47. currNegSym = 32;
  48. currTrailingZ = 64;
  49. currLeadingZ = 128;
  50. zeroCycle = 1;                              {0:00 AM/PM format}
  51. longDay = 0;                                {day of the month}
  52. longWeek = 1;                               {day of the week}
  53. longMonth = 2;                              {month of the year}
  54. longYear = 3;                               {year}
  55. supDay = 1;                                 {suppress day of month}
  56. supWeek = 2;                                {suppress day of week}
  57. supMonth = 4;                               {suppress month}
  58. supYear = 8;                                {suppress year}
  59. dayLdingZ = 32;
  60. mntLdingZ = 64;
  61. century = 128;
  62. secLeadingZ = 32;
  63. minLeadingZ = 64;
  64. hrLeadingZ = 128;
  65.  
  66. { Date Orders }
  67. mdy = 0;
  68. dmy = 1;
  69. ymd = 2;
  70. myd = 3;
  71. dym = 4;
  72. ydm = 5;
  73.  
  74. verUS = 0;
  75. verFrance = 1;
  76. verBritain = 2;
  77. verGermany = 3;
  78. verItaly = 4;
  79. verNetherlands = 5;
  80. verFrBelgiumLux = 6;                        { French for Belgium & Luxembourg }
  81. verSweden = 7;
  82. verSpain = 8;
  83. verDenmark = 9;
  84. verPortugal = 10;
  85. verFrCanada = 11;
  86. verNorway = 12;
  87. verIsrael = 13;
  88. verJapan = 14;
  89. verAustralia = 15;
  90. verArabic = 16;                             { synonym for verArabia }
  91. verFinland = 17;
  92. verFrSwiss = 18;                            { French Swiss }
  93. verGrSwiss = 19;                            { German Swiss }
  94. verGreece = 20;
  95. verIceland = 21;
  96. verMalta = 22;
  97. verCyprus = 23;
  98. verTurkey = 24;
  99. verYugoCroatian = 25;                       { Croatian system for Yugoslavia }
  100. verIndiaHindi = 33;                         { Hindi system for India }
  101. verPakistan = 34;
  102. verLithuania = 41;
  103. verPoland = 42;
  104. verHungary = 43;
  105. verEstonia = 44;
  106. verLatvia = 45;
  107. verLapland = 46;
  108. verFaeroeIsl = 47;
  109. verIran = 48;
  110. verRussia = 49;
  111. verIreland = 50;                            { English-language version for Ireland }
  112. verKorea = 51;
  113. verChina = 52;
  114. verTaiwan = 53;
  115. verThailand = 54;
  116. minCountry = verUS;
  117. maxCountry = verThailand;
  118.  
  119. {Obsolete region code names, kept for backward compatibility}
  120. verBelgiumLux = 6;                          {(use verFrBelgiumLux instead, less ambiguous)}
  121. verArabia = 16;
  122. verYugoslavia = 25;                         {(use verYugoCroatian instead, less ambiguous)}
  123. verIndia = 33;                              {(use verIndiaHindi instead, less ambiguous) }
  124.  
  125. {special ScriptCode values}
  126. iuSystemScript = -1;                        { system script }
  127. iuCurrentScript = -2;                       { current script }
  128.  
  129. {special LangCode values}
  130. iuSystemCurLang = -2;                       { current (itlbLang) lang for system script }
  131. iuSystemDefLang = -3;                       { default (table) lang for system script }
  132. iuCurrentCurLang = -4;                      { current (itlbLang) lang for current script }
  133. iuCurrentDefLang = -5;                      { default lang for current script }
  134. iuScriptCurLang = -6;                       { current (itlbLang) lang for specified script }
  135. iuScriptDefLang = -7;                       { default language for a specified script }
  136.  
  137. {table selectors for IUGetItlTable}
  138. iuWordSelectTable = 0;
  139. iuWordWrapTable = 1;
  140. iuNumberPartsTable = 2;
  141. iuUnTokenTable = 3;
  142. iuWhiteSpaceList = 4;
  143.  
  144. TYPE
  145. DateForm = (shortDate,longDate,abbrevDate);
  146.  
  147.  
  148. Intl0Ptr = ^Intl0Rec;
  149. Intl0Hndl = ^Intl0Ptr;
  150. Intl0Rec = PACKED RECORD
  151.     decimalPt: CHAR;                        {decimal point character}
  152.     thousSep: CHAR;                         {thousands separator}
  153.     listSep: CHAR;                          {list separator}
  154.     currSym1: CHAR;                         {currency symbol}
  155.     currSym2: CHAR;
  156.     currSym3: CHAR;
  157.     currFmt: Byte;                          {currency format}
  158.     dateOrder: Byte;                        {order of short date elements}
  159.     shrtDateFmt: Byte;                      {short date format}
  160.     dateSep: CHAR;                          {date separator}
  161.     timeCycle: Byte;                        {0 if 24-hour cycle, 255 if 12-hour}
  162.     timeFmt: Byte;                          {time format}
  163.     mornStr: PACKED ARRAY [1..4] OF CHAR;   {trailing string for first 12-hour cycle}
  164.     eveStr: PACKED ARRAY [1..4] OF CHAR;    {trailing string for last 12-hour cycle}
  165.     timeSep: CHAR;                          {time separator}
  166.     time1Suff: CHAR;                        {trailing string for 24-hour cycle}
  167.     time2Suff: CHAR;
  168.     time3Suff: CHAR;
  169.     time4Suff: CHAR;
  170.     time5Suff: CHAR;
  171.     time6Suff: CHAR;
  172.     time7Suff: CHAR;
  173.     time8Suff: CHAR;
  174.     metricSys: Byte;                        {255 if metric, 0 if not}
  175.     intl0Vers: INTEGER;                     {version information}
  176.     END;
  177.  
  178. Intl1Ptr = ^Intl1Rec;
  179. Intl1Hndl = ^Intl1Ptr;
  180. Intl1Rec = PACKED RECORD
  181.     days: ARRAY [1..7] OF Str15;            {day names}
  182.     months: ARRAY [1..12] OF Str15;         {month names}
  183.     suppressDay: Byte;                      {0 for day name, 255 for none}
  184.     lngDateFmt: Byte;                       {order of long date elements}
  185.     dayLeading0: Byte;                      {255 for leading 0 in day number}
  186.     abbrLen: Byte;                          {length for abbreviating names}
  187.     st0: PACKED ARRAY [1..4] OF CHAR;       {strings for long date format}
  188.     st1: PACKED ARRAY [1..4] OF CHAR;
  189.     st2: PACKED ARRAY [1..4] OF CHAR;
  190.     st3: PACKED ARRAY [1..4] OF CHAR;
  191.     st4: PACKED ARRAY [1..4] OF CHAR;
  192.     intl1Vers: INTEGER;                     {version information}
  193.     localRtn: ARRAY [0..0] OF INTEGER;      {routine for localizing string comparison}
  194.     END;
  195.  
  196.  
  197. PROCEDURE InitPack(packID: INTEGER);
  198.     INLINE $A9E5;
  199. PROCEDURE InitAllPacks;
  200.     INLINE $A9E6;
  201.  
  202. FUNCTION IUGetIntl(theID: INTEGER): Handle;
  203.     INLINE $3F3C,$0006,$A9ED;
  204. PROCEDURE IUSetIntl(refNum: INTEGER;theID: INTEGER;intlHandle: Handle);
  205.     INLINE $3F3C,$0008,$A9ED;
  206. PROCEDURE IUDateString(dateTime: LONGINT;longFlag: DateForm;VAR result: Str255);
  207.     INLINE $4267,$A9ED;
  208. PROCEDURE IUDatePString(dateTime: LONGINT;longFlag: DateForm;VAR result: Str255;
  209.     intlHandle: Handle);
  210.     INLINE $3F3C,$000E,$A9ED;
  211. PROCEDURE IUTimeString(dateTime: LONGINT;wantSeconds: BOOLEAN;VAR result: Str255);
  212.     INLINE $3F3C,$0002,$A9ED;
  213. PROCEDURE IUTimePString(dateTime: LONGINT;wantSeconds: BOOLEAN;VAR result: Str255;
  214.     intlHandle: Handle);
  215.     INLINE $3F3C,$0010,$A9ED;
  216. FUNCTION IUMetric: BOOLEAN;
  217.     INLINE $3F3C,$0004,$A9ED;
  218.  
  219. FUNCTION IUMagString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER): INTEGER;
  220.     INLINE $3F3C,$000A,$A9ED;
  221. FUNCTION IUMagIDString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER): INTEGER;
  222.     INLINE $3F3C,$000C,$A9ED;
  223. FUNCTION IUCompString(aStr: Str255;bStr: Str255): INTEGER;
  224. FUNCTION IUEqualString(aStr: Str255;bStr: Str255): INTEGER;
  225.  
  226. PROCEDURE StringToNum(theString: Str255;VAR theNum: LONGINT);
  227. PROCEDURE NumToString(theNum: LONGINT;VAR theString: Str255);
  228.  
  229. PROCEDURE IULDateString(VAR dateTime: LongDateTime;longFlag: DateForm;VAR result: Str255;
  230.     intlHandle: Handle);
  231.     INLINE $3F3C,$0014,$A9ED;
  232. PROCEDURE IULTimeString(VAR dateTime: LongDateTime;wantSeconds: BOOLEAN;
  233.     VAR result: Str255;intlHandle: Handle);
  234.     INLINE $3F3C,$0016,$A9ED;
  235. PROCEDURE IUClearCache;
  236.     INLINE $3F3C,$0018,$A9ED;
  237. FUNCTION IUMagPString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER;itl2Handle: Handle): INTEGER;
  238.     INLINE $3F3C,$001A,$A9ED;
  239. FUNCTION IUMagIDPString(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER;
  240.     itl2Handle: Handle): INTEGER;
  241.     INLINE $3F3C,$001C,$A9ED;
  242. FUNCTION IUCompPString(aStr: Str255;bStr: Str255;itl2Handle: Handle): INTEGER;
  243. FUNCTION IUEqualPString(aStr: Str255;bStr: Str255;itl2Handle: Handle): INTEGER;
  244. FUNCTION IUScriptOrder(script1: ScriptCode;script2: ScriptCode): INTEGER;
  245.     INLINE $3F3C,$001E,$A9ED;
  246. FUNCTION IULangOrder(language1: LangCode;language2: LangCode): INTEGER;
  247.     INLINE $3F3C,$0020,$A9ED;
  248. FUNCTION IUTextOrder(aPtr: Ptr;bPtr: Ptr;aLen: INTEGER;bLen: INTEGER;aScript: ScriptCode;
  249.     bScript: ScriptCode;aLang: LangCode;bLang: LangCode): INTEGER;
  250.     INLINE $3F3C,$0022,$A9ED;
  251. FUNCTION IUStringOrder(aStr: Str255;bStr: Str255;aScript: ScriptCode;bScript: ScriptCode;
  252.     aLang: LangCode;bLang: LangCode): INTEGER;
  253. PROCEDURE IUGetItlTable(script: ScriptCode;tableCode: INTEGER;VAR itlHandle: Handle;
  254.     VAR offset: LONGINT;VAR length: LONGINT);
  255.     INLINE $3F3C,$0024,$A9ED;
  256.  
  257.  
  258. {$ENDC}    { UsingPackages }
  259.  
  260. {$IFC NOT UsingIncludes}
  261.     END.
  262. {$ENDC}
  263.  
  264.